1. Field of the Invention
The invention disclosed and claimed herein generally pertains to a method for testing logic functionality of a ring oscillator, following its manufacture, wherein the ring oscillator comprises an odd number of inverters. More particularly, the invention pertains to a method of the above type for quickly and efficiently determining the functionality and electrical continuity of every oscillator component, and of the interconnections therebetween. Even more particularly, the invention pertains to a method of the above type for testing each ring oscillator in a group of such oscillators that are interconnected to form a random number generator.
2. Description of the Related Art
As is well known by those of skill in the art, a ring oscillator may be constructed or fabricated by connecting an odd number of inverter gain stages to form a closed loop. In order to start the oscillator, the total loop gain must be greater than 1. Ring oscillators can be used for a variety of applications that are generally well known to those of skill in the art. Moreover, it has now been recognized that a group of ring oscillators can be selectively interconnected, to provide a truly random number generator. A generator of this type provides a true numerical value that cannot be determined by reverse engineering or other means. This is very significant, since there is an increasing need in data processing for a random number generator that does not rely on pseudo-random techniques. Such techniques tend to be deterministic, discoverable and not sufficiently random.
In one very useful configuration, a random number generator (RNG) of the above type comprises in excess of 60 separate ring oscillators, which are collectively operated to generate a random number. All of the ring oscillators may be fabricated on a single chip. Accordingly, after manufacture of the chip containing the RNG circuit, the RNG logic needs to be tested, in order to show its functionality. The initial test would be to show electrical continuity through each of the oscillator circuits, that is, that an electrical current flows through each component of a ring oscillator, and through interconnections therebetween. However, since the circuit by definition is an oscillator, just sampling the output of the oscillator does not show that it is functional, since the output is non-deterministic.
One approach to test ring oscillators used in the above RNG design would be to bring the output of each individual oscillator to external pins. However, this could be very expensive in terms of the chip global wiring and logic that would be required for the total number of different oscillators included in the generator.
Another approach in manufacturing testing would be to load a test program into a processor connected to the ring oscillators. This program could read the RNG multiple times, and sense that the respective ring oscillators were switching. This testing approach could infer general operation of the RNG. However, due to the random nature of the output values of the RNG, it statistically could be necessary to have a large number of samples for any particular bit to be read both as a 1 and as a 0. Moreover, given the 60 or more oscillators in the RNG design, the program would have to make a very large number of samples in order to determine full functionality. Also, manufacturing test programs running on the chip and on an IC chip tester tend to have a high overhead in terms of time and resources, and are thus less desirable than an integrated logic approach.